package dominio;
// Generated 11-01-2014 10:14:49 AM by Hibernate Tools 3.6.0


import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Cliente generated by hbm2java
 */
@Entity
@Table(name="cliente"
    ,catalog="g1"
)
public class Cliente  implements java.io.Serializable {


     private Integer idCliente;
     private Tipocliente tipocliente;
     private String nombClient;
     private String apellidoClient;
     private String direccion;
     private String telefono;
     private Date fechaNacimiento;
     private String email;
     private Set clientetarjetas = new HashSet(0);

    public Cliente() {
    }

	
    public Cliente(Tipocliente tipocliente, String nombClient, String apellidoClient, String direccion, String telefono, Date fechaNacimiento, String email) {
        this.tipocliente = tipocliente;
        this.nombClient = nombClient;
        this.apellidoClient = apellidoClient;
        this.direccion = direccion;
        this.telefono = telefono;
        this.fechaNacimiento = fechaNacimiento;
        this.email = email;
    }
    public Cliente(Tipocliente tipocliente, String nombClient, String apellidoClient, String direccion, String telefono, Date fechaNacimiento, String email, Set clientetarjetas) {
       this.tipocliente = tipocliente;
       this.nombClient = nombClient;
       this.apellidoClient = apellidoClient;
       this.direccion = direccion;
       this.telefono = telefono;
       this.fechaNacimiento = fechaNacimiento;
       this.email = email;
       this.clientetarjetas = clientetarjetas;
    }
   
     @Id @GeneratedValue(strategy=IDENTITY)

    
    @Column(name="idCliente", unique=true, nullable=false)
    public Integer getIdCliente() {
        return this.idCliente;
    }
    
    public void setIdCliente(Integer idCliente) {
        this.idCliente = idCliente;
    }

@ManyToOne(fetch=FetchType.LAZY)
    @JoinColumn(name="idTipoCliente", nullable=false)
    public Tipocliente getTipocliente() {
        return this.tipocliente;
    }
    
    public void setTipocliente(Tipocliente tipocliente) {
        this.tipocliente = tipocliente;
    }

    
    @Column(name="nomb_client", nullable=false, length=45)
    public String getNombClient() {
        return this.nombClient;
    }
    
    public void setNombClient(String nombClient) {
        this.nombClient = nombClient;
    }

    
    @Column(name="apellido_client", nullable=false, length=45)
    public String getApellidoClient() {
        return this.apellidoClient;
    }
    
    public void setApellidoClient(String apellidoClient) {
        this.apellidoClient = apellidoClient;
    }

    
    @Column(name="direccion", nullable=false, length=100)
    public String getDireccion() {
        return this.direccion;
    }
    
    public void setDireccion(String direccion) {
        this.direccion = direccion;
    }

    
    @Column(name="telefono", nullable=false, length=9)
    public String getTelefono() {
        return this.telefono;
    }
    
    public void setTelefono(String telefono) {
        this.telefono = telefono;
    }

    @Temporal(TemporalType.DATE)
    @Column(name="fecha_nacimiento", nullable=false, length=10)
    public Date getFechaNacimiento() {
        return this.fechaNacimiento;
    }
    
    public void setFechaNacimiento(Date fechaNacimiento) {
        this.fechaNacimiento = fechaNacimiento;
    }

    
    @Column(name="email", nullable=false, length=25)
    public String getEmail() {
        return this.email;
    }
    
    public void setEmail(String email) {
        this.email = email;
    }

//@OneToMany(fetch=FetchType.LAZY, mappedBy="cliente")
   /* public Set getClientetarjetas() {
        return this.clientetarjetas;
    }
    
    public void setClientetarjetas(Set clientetarjetas) {
        this.clientetarjetas = clientetarjetas;
    }
*/



}


